﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace FinalOnlineLibrary
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            //routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            //routes.MapRoute(null, "", // Only matches the empty URL (i.e. ~/)
            //                new
            //                {
            //                    controller = "Books",
            //                    action = "DefaultBooksPage",
            //                    category = (string)null,
            //                    page = 1
            //                }
            //);
            //routes.MapRoute(null, "Page{page}", // Matches ~/Page2, ~/Page123, but not ~/PageXYZ
            //                new { controller = "Books", action = "DefaultBooksPage", category = (string)null },
            //                new { page = @"\d+" } // Constraints: page must be numerical
            //);
            //routes.MapRoute(null, "{category}", // Matches ~/Football or ~/AnythingWithNoSlash
            //                new { controller = "Books", action = "DefaultBooksPage", page = 1 }
            //);
            //routes.MapRoute(null, "{category}/Page{page}", // Matches ~/Football/Page567
            //                new { controller = "Books", action = "DefaultBooksPage" }, // Defaults
            //                new { page = @"\d+" } // Constraints: page must be numerical
            //);            
            //routes.MapRoute(null, "{controller}/{action}");
            routes.MapRoute(null, "{controller}/{action}");
            routes.MapRoute(
                "ResultSearchPage1", // Route name
                "Books/ResultSearchPage/{form}", // URL with parameters
                new { controller = "Books", action = "ResultSearchPage", form = new FormCollection() } // Parameter defaults
            );

            routes.MapRoute("Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                 new { controller = "Books", action = "DefaultBooksPage", id = UrlParameter.Optional } // Parameter defaults
            );

            routes.MapRoute(
                "ResultSearchPage2", // Route name
                "{controller}/{action}", // URL with parameters
                new { controller = "Books", action = "ResultSearchPage" } // Parameter defaults
            );
        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);
        }
    }
}